package io.xccit.race.service;

import io.minio.messages.Bucket;
import io.minio.messages.Item;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface MinioService {

    String upload(MultipartFile file) throws Exception;

    List<String> uploadBatch(List<MultipartFile> files) throws Exception;

    String uploadToBucket(String bucket, MultipartFile file) throws Exception;

    List<Bucket> listBuckets() throws Exception;

    void createBucket(String bucket) throws Exception;

    void deleteBucket(String bucket) throws Exception;

    List<Item> listObjects(String bucket, String prefix, boolean recursive) throws Exception;

    boolean deleteObject(String bucket, String object) throws Exception;

    String getPresignedUrl(String bucket, String object, int expires) throws Exception;
}


